<script>
class Person {
  // 构造器，new Person('ifer', 18) 会自动执行，传递过来实参会和 constructor 中的形参一一对应
  // constructor 中的 this 永远永远永远是实例
  constructor(name, age) {
    // console.log(name, age)
    // 实例属性
    this.name = name;
    this.age = age
  }
  // 猜一下？实例属性（可以理解为在 constructor 中往 this 挂的）
  jiangjun = '吕布'
  // 实例方法
  test = () => {
    console.log('~~~')
  }
  // 原型方法
  say() {
    console.log('Hello World');
  }
  // 静态属性/方法：只有通过类或构造函数才能访问的
  static version = 888
  static say() {
    console.log(1)
  }
}

const p1 = new Person('ifer', 18)

console.log(p1.jiangjun)
p1.test()
</script>